// pages/task/ongoing/index.js
const http = require('../../../utils/request')
const { taskApi } = require('../../../utils/api')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    tasks: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.getOngoingTasks()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.getOngoingTasks()
      .then(() => {
        wx.stopPullDownRefresh()
      })
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  // 获取进行中的工单
  getOngoingTasks() {
    const userInfo = wx.getStorageSync('userInfo')
    const params = {
      userId: userInfo.userId,
      isRepair: true,
      status: 2 // 状态为进行中
    }
    
    return http.get(taskApi.search(params))
      .then(res => {
        this.setData({
          tasks: res.currentPageRecords?.map(task => ({
            ...task,
            createTime: this.formatTime(task.createTime),
            address: task.addr
          })) || []
        })
      })
      .catch(err => {
        wx.showToast({
          title: err || '获取进行中工单失败',
          icon: 'none'
        })
      })
  },

  // 查看工单详情
  onTaskDetail(e) {
    const taskId = e.currentTarget.dataset.id
    wx.navigateTo({
      url: `/pages/task/detail/index?id=${taskId}`
    })
  },

  // 格式化时间
  formatTime(timestamp) {
    if(!timestamp) return ''
    const date = new Date(timestamp)
    const year = date.getFullYear()
    const month = (date.getMonth() + 1).toString().padStart(2, '0')
    const day = date.getDate().toString().padStart(2, '0')
    const hour = date.getHours().toString().padStart(2, '0')
    const minute = date.getMinutes().toString().padStart(2, '0')
    return `${year}-${month}-${day} ${hour}:${minute}`
  }
})